home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload Trio 2
/
Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO
/
dir44
/
dungn32.zip
/
DOSPORT.DOC
< prev
next >
Wrap
Text File
|
1994-10-08
|
5KB
|
108 lines
A few notes about my port of Robert Supniks Dungeon V3.2 from various DEC
FORTRANs (VMS, OSF/1, and Unix) to DOS Microsoft FORTRAN PowerStation.
Volker Blasius, 07oct94
-----------------------------------------------------------------------------
- Microsoft FORTRAN doesn't accept the free form source code:
label<tab>code
<tab>code
<tab>X<tab>continuation
so I wrote a program (convsrc.c) to convert it to the traditional form:
label code
code
Xcontinuation
CONVSRC.BAT that runs this program on all the modules also changes the
names from *.F to *.FOR because the Visual Workbench insists on it.
Affected modules: *.F
*.FOR
- OPEN (...,NAME='name',...,READONLY,...) must be changed to
OPEN (...,FILE='name.DAT',...,MODE='READ',...)
Affected modules: GAME.FOR
- FORMAT(On) (octal editing) is not supported, so I just changed it to
FORMAT(Zn) (hexadecimal) everywhere.
Affected modules: GDT.FOR
VERBS.FOR
- The syntax for octal constants is 8#1234, not '1234'O
Affected modules: PARSER.FOR
- The statement to write something to stdout is not TYPE but PRINT
Affected modules: TIMEFNC.FOR
- Several modules terminate the whole program with CALL EXIT.
MS FORTRAN doesn't know this function, so I changed the statement to
STOP ' '
Affected modules: DUNGEON.FOR
ROOMS.FOR
SUBR.FOR
VERBS.FOR
- I rewrote UNIXSUBR.C for DOS and named the result DOSSUBR.FOR (mainly
because it already existed from my port of Dungeon V3.1, so I could fix
this problem and the next one below by just copying my old DOSSUBR.FOR).
Affected modules: UNIXSUBR.C
DOSSUBR.FOR
- GAME.FOR calls an undefined function IDATE in addition to the function
ITIME defined in DOSSUBR.FOR, so I added a function IDATE to DOSSUBR.FOR
analogous to ITIME.
Affected modules: DOSSUBR.FOR
- The random number routine in Microsoft FORTRAN is a subroutine named
RANDOM, not a function named RAN. RANDOM doesn't accept a seed value;
its internal counter must be initialized once with CALL SEED.
Affected modules: SUBR.FOR
- The record length of UNFORMATTED DIRECT file DTEXT.DAT must be specified
in bytes, not in long words, so I changed the definition of RECLNT in
DPARAM.FOR from 20 (lw) to 80 (char).
Affected modules: DPARAM.FOR
- Following a suggestion by Larry Brenkus, I inserted
PAUSE '--More--'
twice in the end-of-game code to prevent the end-of-game messages from just
flashing over the screen.
Affected modules: ROOMS.FOR
- Logical statement function NOHERE (new in version 3.2) was not declared
LOGICAL, resulting in error messages ("cannot convert"), so I added NOHERE
to the LOGICAL declaration line.
Affected modules: VERBS.FOR
- Here's a note from the MS FORTRAN documentation about additional files
needed to run the program:
----------------------------- start of quotation -------------------------
============================< Question 6 >==============================
I compiled and linked my program and it runs fine on the machine where
FORTRAN Powerstation is installed but when I take it to another machine it
won't run. How can I make this application run on another machine?
Answer:
There are two additional files that need to be installed on the machine
where you are going to run the FORTRAN application: DOSXMSF.EXE and
DOSXNT.386. DOSXMSF.EXE is the actual DOS extender that allows your 32-bit
program to run under MS-DOS. DOXSNT.386 is a DPMI device driver that allows
your program to run as a 32-bit DOS-extended program under Windows.
You need to install DOSXMSF.EXE either in the same directory as the FORTRAN
program or in a directory that is in your DOS PATH environment variable.
DOSXNT.386 is a Windows device driver that is necessary if you want to run
the FORTRAN application in an MS-DOS session under Windows. To install
DOSXNT.386, you need the following entry in the SYSTEM.INI file under the
[386Enh] section:
device=C:\F32\BIN\dosxnt.386
Redistribution Rights
---------------------
You have the right to distribute the DOS extender files DOSXMSF.EXE and
DOSXNT.386 with programs that you create with FORTRAN PowerStation. There
is no royalty required.
------------------------------ end of quotation --------------------------